home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 114 / SGDS 114.2mg / SDGS.114 / C / MALT (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1991-03-02  |  28.5 KB  |  977 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 50  REM <CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08>          <CTRL-0x0d><CTRL-0x0d> M.A.L.T. v0.50<CTRL-0x0d><CTRL-0x0d>  By<CTRL-0x0d><CTRL-0x0d>  Trevor Churchill<CTRL-0x0d>  Copyright (c) 1991 SoftDisk<CTRL-0x0d><CTRL-0x0d>
  2. 60  REM Modified to v1.11 by Peter Rokitski, 3-26-91    
  3. 90 V$ = "v1.11"
  4. 100  GOTO 31800: REM  Init Variables : Load In Printer Codes
  5. 150  REM 
  6. 200  REM 
  7. 250  REM 
  8. 300  REM 
  9. 350  POKE  -16368,0
  10. 400 Y = 1: PRINT D$;"FRE"
  11. 450 RS = 5
  12. 500  HOME :S$ = "...Main..Menu...": GOSUB 40150
  13. 550  VTAB 5: POKE 1403,9: PRINT "Here are your choices......"
  14. 600  VTAB 8: POKE 1403,16: PRINT "1} MODIFY Label."
  15. 650  POKE 1403,16: PRINT "2} READ Label From Disk Directory."
  16. 700  POKE 1403,16: PRINT "3} LOAD/SAVE Label."
  17. 750  POKE 1403,16: PRINT "4} PRINT Label."
  18. 800  POKE 1403,16: PRINT "5} ENTER Printer Codes..."
  19. 850  POKE 1403,16: PRINT "6} MACRO Entry..."
  20. 900  POKE 1403,16: PRINT "7} ABOUT M.A.L.T...."
  21. 950  POKE 1403,16: PRINT "8} SIZE Setup."
  22. 1000  PRINT 
  23. 1050  POKE 1403,16: PRINT "9} Quit!": PRINT 
  24. 1100  PRINT : POKE 1403,30: PRINT "Which Do You Choose?": POKE 1403,39: PRINT AR$;" ";LA$;
  25. 1150  VTAB 21: POKE 1403,40: GET CH$: IF CH$ =  CHR$(27)  THEN  GOTO 41000
  26. 1200  IF CH$ <"1"  OR CH$ >"9"  THEN 1150
  27. 1250 CH =  VAL(CH$): ON CH GOTO 2350,13500,26950,35900,22900,21900,38800,1300,41000
  28. 1300  REM 
  29. 1350 S$ = "......Size......": GOSUB 40150
  30. 1400  VTAB 5: POKE 1403,4: PRINT "Choose Size Number Then -RETURN- To Choose....."
  31. 1450  VTAB 8: POKE 1403,19: PRINT "1} 3.5";Q$;" Disks."
  32. 1500 J = 1
  33. 1550  POKE 1403,19: PRINT "2} 5.25";Q$;" Disks."
  34. 1600  POKE 1403,19: PRINT "3} V.C.R. Tapes."
  35. 1650  PRINT 
  36. 1700  POKE 1403,19: PRINT "4} Main Menu."
  37. 1750  PRINT : POKE 1403,30: PRINT "Which Do You Choose?": POKE 1403,39: PRINT AR$;" ";LA$;
  38. 1800  VTAB 7 +J: POKE 1403,18: PRINT CM$;
  39. 1850  VTAB 15: POKE 1403,40: GET CH$: IF CH$ =  CHR$(27)  THEN 150
  40. 1900  IF CH$ = "4"  THEN 150
  41. 1950  IF CH$ =  CHR$(13)  THEN  ON J GOTO 2150,2200,2250
  42. 2000  IF CH$ <"1"  OR CH$ >"3"  THEN 1850
  43. 2050  VTAB 7 +J: POKE 1403,18: PRINT " ";:J =  VAL(CH$): VTAB 7 +J: POKE 1403,18: PRINT CM$;
  44. 2100  GOTO 1850
  45. 2150 WD = 44:HT = 10: GOTO 2350
  46. 2200 WD = 56:HT = 4: GOTO 2350
  47. 2250 WD = 50:HT = 10: GOTO 2350
  48. 2300  REM 
  49. 2350  REM 
  50. 2400  REM 
  51. 2450  REM 
  52. 2500  POKE  -16368,0: PRINT  CHR$(4);"FRE"
  53. 2550 S$ = ".....Modify.....": GOSUB 40150
  54. 2600  VTAB 19: POKE 1403,1: INVERSE : PRINT  LEFT$(BL$,78);: NORMAL 
  55. 2650  POKE 1403,28: PRINT " ";MT$;"[";MO$;" Current Information ";MT$;"[";MO$;" ";
  56. 2700  VTAB 21: POKE 1403,3: PRINT "line #  ; Jtfy {      }; Color {      }; Bold { }; Underline { }; Text {  }"
  57. 2750  POKE 1403,22: PRINT "Width {  }; Height {  }; Global { }"
  58. 2800  VTAB 3: POKE 1403,39 -(WD/2): INVERSE : PRINT  LEFT$(BL$,WD +3)
  59. 2850  VTAB HT +4: POKE 1403,39 -(WD/2): PRINT  LEFT$(BL$,WD +3);
  60. 2900  NORMAL : POKE 35,24: PRINT "": FOR E = 20 TO 23: VTAB E: POKE 1403,0: PRINT MT$;"Z";MO$;: POKE 1403,79: PRINT MT$;"_";MO$;: NEXT : POKE 35,23
  61. 2950  VTAB HT +4: POKE 1403,32: PRINT " ";OA$;"-?  For Help! "
  62. 3000  FOR E = 3 TO HT +4: VTAB E: POKE 1403,39 -(WD/2): PRINT MT$;"Z";MO$;: POKE 1403,41 +(WD/2): PRINT MT$;"_";MO$;: NEXT 
  63. 3050 L = 41 -(WD/2):R = 40 +(WD/2)
  64. 3100 CD = WD:ST = (WD -32)/2 +19 +(WD >40) +(WD >50) +(WD >62) +(WD >74):EX = (WD -32)/2 +17 +(WD >50)
  65. 3150  FOR E = 1 TO HT: VTAB 3 +E
  66. 3200 LN =  LEN(TX$(E))
  67. 3250  IF F(E) = 1  THEN  IF LN >CD  THEN TX$(E) =  LEFT$(TX$(E),CD)
  68. 3300  IF F(E) = 2  THEN  IF LN >ST  THEN TX$(E) =  LEFT$(TX$(E),ST)
  69. 3350  IF F(E) = 3  THEN  IF LN >EX  THEN TX$(E) =  LEFT$(TX$(E),EX)
  70. 3400  POKE 1403,L -1: PRINT  LEFT$(BL$,WD +1);
  71. 3450  IF J(E) = 1  THEN  POKE 1403,40 - LEN(TX$(E))/2
  72. 3500  IF J(E) = 2  THEN  POKE 1403,L -1
  73. 3550  IF J(E) = 3  THEN  POKE 1403,R - LEN(TX$(E))
  74. 3600  PRINT TX$(E);: NEXT 
  75. 3650  VTAB 21: POKE 1403,9: PRINT "  ";
  76. 3700  POKE 1403,10 -(Y >9): PRINT Y;: POKE 1403,19: PRINT J$(J(Y));
  77. 3750  POKE 1403,35: PRINT C$(C(Y));: POKE 1403,50: IF B(Y) = 1  THEN  PRINT CM$;: GOTO 3850
  78. 3800  PRINT " ";
  79. 3850  POKE 1403,65: IF U(Y) = 1  THEN  PRINT CM$;: GOTO 3950
  80. 3900  PRINT " ";
  81. 3950  POKE 1403,75: PRINT CP$(F(Y));
  82. 4000  VTAB 22: POKE 1403,29: PRINT WD;: POKE 1403,42: IF HT <10  THEN  PRINT " ";HT;: GOTO 4100
  83. 4050  PRINT HT;
  84. 4100  POKE 1403,55: IF GB = 0  THEN  PRINT " ";: GOTO 4200
  85. 4150  PRINT CM$;
  86. 4200  REM * Start Main Edit *
  87. 4250 LN =  LEN(TX$(Y))
  88. 4300 CD = WD:ST = (WD -32)/2 +19 +(WD >40) +(WD >50) +(WD >62) +(WD >74):EX = (WD -32)/2 +17 +(WD >50)
  89. 4350  IF J(Y) = 1  THEN H = 41 +LN/2
  90. 4400  IF J(Y) = 2  THEN H = L +LN
  91. 4450  IF J(Y) = 3  THEN H = R +1
  92. 4500  POKE 1403,H -1: VTAB 3 +Y: GET CH$: IF CH$ =  CHR$(27)  THEN 150
  93. 4510  IF  LEN(CH$) = 0  THEN 4500
  94. 4520  IF CH$ =  >"a"  AND CH$ < = "z"  THEN CH$ =  CHR$( ASC(CH$) -32)
  95. 4550  IF  PEEK( -16287) >127  THEN 5500
  96. 4600  IF CH$ =  CHR$(10)  OR CH$ =  CHR$(13)  THEN Y = Y +1:Y = Y -((Y >HT) *HT): GOTO 3650
  97. 4650  IF CH$ =  CHR$(11)  THEN Y = Y -1:Y = Y +((HT) *(Y <1)): GOTO 3650
  98. 4700  IF CH$ =  CHR$(127)  OR CH$ =  CHR$(8)  THEN  GOTO 5300
  99. 4750  IF  ASC(CH$) < = 31  THEN 4200
  100. 4800  IF F(Y) = 1  THEN  IF LN > = CD  THEN 4200
  101. 4850  IF F(Y) = 2  THEN  IF LN =  >ST  THEN 4200
  102. 4900  IF F(Y) = 3  THEN  IF LN > = EX  THEN 4200
  103. 4950 TX$(Y) = TX$(Y) +CH$
  104. 5000 LN =  LEN(TX$(Y))
  105. 5050  VTAB 3 +Y: POKE 1403,L -1: PRINT  LEFT$(BL$,WD);
  106. 5100  POKE 1403,40 -LN/2: IF J(Y) = 2  THEN  POKE 1403,L -1
  107. 5150  IF J(Y) = 3  THEN  POKE 1403,R -LN
  108. 5200  VTAB Y +3: PRINT TX$(Y);
  109. 5250  GOTO 4200
  110. 5300  IF LN = 0  THEN 4200
  111. 5350  IF LN = 1  THEN TX$(Y) = "": GOTO 5000
  112. 5400 TX$(Y) =  LEFT$(TX$(Y),LN -1)
  113. 5450  GOTO 5000
  114. 5500  REM * Open-Apple Input*
  115. 5550  IF CH$ = "/"  OR CH$ = "?"  THEN  GOSUB 6600: GOTO 2300
  116. 5600  IF CH$ = "B"  THEN  GOSUB 7950: GOTO 4200
  117. 5650  IF CH$ = "U"  THEN  GOSUB 8200: GOTO 4200
  118. 5700  IF CH$ = "L"  THEN 8450
  119. 5750  IF CH$ = "R"  THEN 8700
  120. 5800  IF CH$ = "C"  THEN 8950
  121. 5850  IF CH$ = "P"  THEN 35900
  122. 5900  IF CH$ = "W"  THEN 11350
  123. 5950  IF CH$ = "K"  THEN  GOSUB 9850: GOTO 4200
  124. 6000  IF CH$ = "G"  THEN 11150
  125. 6050  IF CH$ = "O"  THEN 34950
  126. 6100  IF CH$ = "M"  THEN  GOSUB 10050: GOTO 4200
  127. 6150  IF CH$ = "E"  THEN  GOSUB 10650: GOTO 3050
  128. 6200  IF CH$ = "F"  THEN  GOSUB 10200: GOTO 3050
  129. 6205  IF CH$ = "I"  THEN  GOSUB 10155: HOME : GOTO 2600
  130. 6210  IF CH$ = "D"  THEN 10170
  131. 6220  IF CH$ = "X"  THEN 41500
  132. 6230  IF CH$ = "Z"  THEN 13451
  133. 6250  IF CH$ =  CHR$(8)  THEN 11550
  134. 6300  IF CH$ =  CHR$(21)  THEN 11800
  135. 6350  IF CH$ =  CHR$(10)  THEN 12200
  136. 6400  IF CH$ =  CHR$(11)  THEN 12950
  137. 6450  IF CH$ = "T"  THEN 9250
  138. 6500  IF CH$ > = "1"  AND CH$ < = "5"  THEN  IF M$( VAL(CH$)) = ""  THEN  PRINT  CHR$(7);: GOTO 4200
  139. 6510  IF CH$ > = "1"  AND CH$ < = "5"  THEN TX$(Y) = M$( VAL(CH$)): GOTO 3100
  140. 6550  PRINT  CHR$(7);: GOTO 4200
  141. 6600  REM 
  142. 6650  HOME :S$ = "......Help......": GOSUB 40150
  143. 6700  VTAB 4
  144. 6750  POKE 1403,1: PRINT OA$;" ";AR$;" -Increase Horizontal Size.";: POKE 1403,40: PRINT OA$;" ";MT$;"H";MO$;" -Decrease Horizontal Size."
  145. 6850  POKE 1403,1: PRINT OA$;" ";MT$;"J";MO$;" -Increase Vertical Size.";: POKE 1403,40: PRINT OA$;" ";MT$;"K";MO$;" -Decrease Vertical Size."
  146. 6950  POKE 1403,1: PRINT OA$;" B -Engage/Disengage Bold Face.";: POKE 1403,40: PRINT OA$;" C -Center Line Of Text."
  147. 7050  POKE 1403,1: PRINT OA$;" D -Delete/Remove Line Of Text.";: POKE 1403,40: PRINT OA$;" E -Erase All Right Spaces."
  148. 7150  POKE 1403,1: PRINT OA$;" F -Fill Line With Inputed Character.";: POKE 1403,40: PRINT OA$;" G -Engage/Disengage Global."
  149. 7250  POKE 1403,1: PRINT OA$;" I -Insert Blank Row.";: POKE 1403,40: PRINT OA$;" K -Change Color."
  150. 7350  POKE 1403,1: PRINT OA$;" L -Left Justify Line Of Text.";: POKE 1403,40: PRINT OA$;" M -Mix Up (Randomize) Colors."
  151. 7450  POKE 1403,1: PRINT OA$;" O -Case Change Option.";: POKE 1403,40: PRINT OA$;" P -Goto Print Option."
  152. 7550  POKE 1403,1: PRINT OA$;" R -Right Justify Line Of Text.";: POKE 1403,40: PRINT OA$;" T -Change Text Size."
  153. 7555  POKE 1403,1: PRINT OA$;" U -Engage/Disengage Underline.";: POKE 1403,40: PRINT OA$;" W -Wipe Out Line Of Text."
  154. 7557  POKE 1403,1: PRINT OA$;" X -Creates Border.";: POKE 1403,40: PRINT OA$;" Z -Change Label Size."
  155. 7560  PRINT 
  156. 7700  POKE 1403,23: PRINT OA$;" 1-5 -Inserts Corresponding Macro"
  157. 7710  POKE 1403,30: PRINT MT$;"H";MO$;" ";MT$;"K";MO$;" ";MT$;"J";MO$;" -Moves Cursor."
  158. 7750  POKE 1403,27: PRINT "ESC -Returns To Main Menu.";
  159. 7800  POKE 1403,16: PRINT "CD; ST; EX -Condensed; Standard; Expanded Text."
  160. 7810 I1 = 1:I2 =  -1:A$ = " . ":W = 17:WW = 61
  161. 7820  VTAB 19: POKE 1403,W -1: PRINT A$: VTAB 20: POKE 1403,WW -1: PRINT A$
  162. 7830  IF  PEEK( -16384) >127  THEN  POKE  -16368,0: RETURN 
  163. 7850 W = W +I1:WW = WW +I2
  164. 7860  IF WW >61  OR WW <17  THEN I2 =  -I2
  165. 7870  IF W >61  OR W <17  THEN I1 =  -I1
  166. 7900  GOTO 7820
  167. 7950  VTAB 21: POKE 1403,50
  168. 8000  IF GB = 0  THEN  IF B(Y) = 1  THEN B(Y) = 0: PRINT " ";: RETURN 
  169. 8050  IF GB = 0  THEN  IF B(Y) = 0  THEN B(Y) = 1: PRINT CM$;: RETURN 
  170. 8100  IF B(Y) = 0  THEN  FOR E = 1 TO HT:B(E) = 1: NEXT : PRINT CM$;: RETURN 
  171. 8150 B(Y) = 0: FOR E = 1 TO HT:B(E) = 0: NEXT : PRINT " ";: RETURN 
  172. 8200  VTAB 21: POKE 1403,65
  173. 8250  IF GB = 0  THEN  IF U(Y) = 1  THEN U(Y) = 0: PRINT " ";: RETURN 
  174. 8300  IF GB = 0  THEN  IF U(Y) = 0  THEN U(Y) = 1: PRINT CM$;: RETURN 
  175. 8350  IF U(Y) = 0  THEN  FOR E = 1 TO HT:U(E) = 1: NEXT : PRINT CM$;: RETURN 
  176. 8400  FOR E = 1 TO HT:U(E) = 0: NEXT : PRINT " ";: RETURN 
  177. 8450  REM 
  178. 8500  IF GB = 0  AND J(Y) = 2  THEN 4200
  179. 8550  IF GB = 0  THEN J(Y) = 2: GOTO 9200
  180. 8600  FOR E = 1 TO HT:J(E) = 2: NEXT 
  181. 8650  GOTO 3050
  182. 8700  REM 
  183. 8750  IF GB = 0  AND J(Y) = 3  THEN 4200
  184. 8800  IF GB = 0  THEN J(Y) = 3: GOTO 9200
  185. 8850  FOR E = 1 TO HT:J(E) = 3: NEXT 
  186. 8900  GOTO 3050
  187. 8950  REM 
  188. 9000  IF GB = 0  AND J(Y) = 1  THEN 4200
  189. 9050  IF GB = 0  THEN J(Y) = 1: GOTO 9200
  190. 9100  FOR E = 1 TO HT:J(E) = 1: NEXT 
  191. 9150  GOTO 3050
  192. 9200  VTAB 21: POKE 1403,19: PRINT J$(J(Y));: GOTO 5000
  193. 9250  IF GB = 1  THEN 9450
  194. 9300  IF F(Y) = 1  THEN F(Y) = 2: GOTO 9600
  195. 9350  IF F(Y) = 2  THEN F(Y) = 3: GOTO 9600
  196. 9400  IF F(Y) = 3  THEN F(Y) = 1: GOTO 9600
  197. 9450  IF F(Y) = 1  THEN  FOR E = 1 TO HT:F(E) = 2: NEXT : GOTO 3050
  198. 9500  IF F(Y) = 2  THEN  FOR E = 1 TO HT:F(E) = 3: NEXT : GOTO 3050
  199. 9550  FOR E = 1 TO HT:F(E) = 1: NEXT : GOTO 3050
  200. 9600 J =  LEN(TX$(Y))
  201. 9650  IF F(Y) = 2  THEN ST = (WD -32)/2 +19 +(WD >40) +(WD >50) +(WD >62) +(WD >74): IF J >ST  THEN TX$(Y) =  LEFT$(TX$(Y),ST)
  202. 9700  IF F(Y) = 3  THEN EX = (WD -32)/2 +17 +(WD >50): IF J >EX  THEN TX$(Y) =  LEFT$(TX$(Y),EX)
  203. 9750  VTAB 21: POKE 1403,75: PRINT CP$(F(Y));
  204. 9800  GOTO 5000
  205. 9850  REM 
  206. 9900 C(Y) = C(Y) +1: IF C(Y) >7  THEN C(Y) = 1
  207. 9950  IF GB = 1  THEN  FOR E = 1 TO HT:C(E) = C(Y): NEXT 
  208. 10000  VTAB 21: POKE 1403,35: PRINT C$(C(Y));: RETURN 
  209. 10050  REM 
  210. 10100  IF GB = 0  THEN C(Y) =  INT( RND(1) *7) +1: GOTO 10000
  211. 10150  FOR E = 1 TO HT:C(E) =  INT( RND(1) *7) +1: NEXT : GOTO 10000
  212. 10155  REM 
  213. 10160  FOR E = 13 TO Y  STEP  -1:TX$(E +1) = TX$(E):B(E +1) = B(E):U(E +1) = U(E):C(E +1) = C(E):J(E +1) = J(E):F(E +1) = F(E): NEXT E
  214. 10165 TX$(Y) = "": RETURN 
  215. 10170  REM 
  216. 10171 TX$(14) = ""
  217. 10175  FOR E = Y TO 13
  218. 10180 TX$(E) = TX$(E +1):B(E) = B(E +1):U(E) = U(E +1):C(E) = C(E +1):J(E) = J(E +1):F(E) = F(E +1): NEXT E
  219. 10185  HOME : GOTO 2600
  220. 10200  REM 
  221. 10250  POKE 1403,25: VTAB Y +3: PRINT " Fill With What Character?:  ";
  222. 10300  POKE 1403,52: GET CH$:CH =  ASC(CH$): IF CH$ =  CHR$(27)  THEN 3050
  223. 10350  IF CH <32  OR CH >126  THEN  PRINT  CHR$(7);: GOTO 10250
  224. 10355  VTAB 3: POKE 1403,34: INVERSE : PRINT "PLEASE WAIT!";
  225. 10360  IF GB = 1  THEN 10610
  226. 10400  IF F(Y) = 1  THEN J = CD
  227. 10450  IF F(Y) = 2  THEN J = ST
  228. 10500  IF F(Y) = 3  THEN J = EX
  229. 10550  IF  LEN(TX$(Y)) <J  THEN TX$(Y) = TX$(Y) +CH$: GOTO 10550
  230. 10600  GOTO 10630
  231. 10610  FOR E = 1 TO HT: IF F(E) = 1  THEN J = CD
  232. 10615  IF F(E) = 2  THEN J = ST
  233. 10620  IF F(E) = 3  THEN J = EX
  234. 10625  IF  LEN(TX$(E)) <J  THEN TX$(E) = TX$(E) +CH$: GOTO 10625
  235. 10627 SQ =  PEEK( -16336) + PEEK( -16336): NEXT 
  236. 10630  VTAB 3: POKE 1403,34: PRINT "                   ";: NORMAL : RETURN 
  237. 10650  REM 
  238. 10700  IF GB = 1  THEN 10900
  239. 10750 LN =  LEN(TX$(Y)): IF LN <2  THEN  RETURN 
  240. 10800  IF  RIGHT$(TX$(Y),1) = " "  THEN TX$(Y) =  LEFT$(TX$(Y),LN -1): GOTO 10750
  241. 10850  RETURN 
  242. 10900  FOR E = 1 TO HT
  243. 10950 LN =  LEN(TX$(E)): IF LN <2  THEN 11050
  244. 11000  IF  RIGHT$(TX$(E),1) = " "  THEN TX$(E) =  LEFT$(TX$(E),LN -1): GOTO 10950
  245. 11050  NEXT 
  246. 11100  RETURN 
  247. 11150  REM 
  248. 11200  VTAB 22: POKE 1403,55
  249. 11250  IF GB = 1  THEN  PRINT " ";:GB = 0: GOTO 4200
  250. 11300  PRINT CM$;:GB = 1: GOTO 4200
  251. 11350  REM 
  252. 11400  IF GB = 0  THEN TX$(Y) = "": GOTO 5000
  253. 11450  FOR E = 1 TO HT:TX$(E) = "": NEXT 
  254. 11500  GOTO 3050
  255. 11550  REM 
  256. 11600  IF WD = 32  THEN 4200
  257. 11650  FOR E = 3 TO HT +4: VTAB E: POKE 1403,39 -(WD/2): PRINT " ";: POKE 1403,41 +(WD/2): PRINT " ";: NEXT 
  258. 11700 WD = WD -2
  259. 11750  GOTO 3000
  260. 11800  REM 
  261. 11850  IF WD = 76  THEN 4200
  262. 11900  FOR E = 3 TO HT +4: NORMAL : IF E = 3  OR E = HT +4  THEN  INVERSE 
  263. 11950 : VTAB E
  264. 12000  POKE 1403,39 -(WD/2): PRINT " ";: POKE 1403,41 +(WD/2): PRINT " ";
  265. 12050  NEXT : NORMAL 
  266. 12100 WD = WD +2
  267. 12150  GOTO 3000
  268. 12200  REM 
  269. 12250  IF HT = 13  THEN 4200
  270. 12300  VTAB HT +4: POKE 1403,39 -(WD/2): PRINT  LEFT$(BL$,WD +3);:HT = HT +1
  271. 12350  VTAB HT +4: POKE 1403,39 -(WD/2): INVERSE : PRINT  LEFT$(BL$,WD +3);: NORMAL 
  272. 12400  VTAB HT +4: POKE 1403,32: PRINT " ";OA$;"-?  For Help! ";
  273. 12450  FOR E = HT +3 TO HT +4: VTAB E: POKE 1403,39 -(WD/2): PRINT MT$;"Z";MO$;: POKE 1403,41 +(WD/2): PRINT MT$;"_";MO$;: NEXT E
  274. 12500  IF F(HT) = 1  THEN J = WD
  275. 12550  IF F(HT) = 2  THEN J = (WD -32)/2 +19 +(WD >40) +(WD >50) +(WD >62) +(WD >74)
  276. 12600  IF F(HT) = 3  THEN J = (WD -32)/2 +17 +(WD >50)
  277. 12650  IF  LEN(TX$(HT)) >J  THEN TX$(HT) =  LEFT$(TX$(HT),J)
  278. 12700  VTAB HT +3: POKE 1403,40 - LEN(TX$(HT))/2
  279. 12750  IF J(HT) = 2  THEN  POKE 1403,L -1
  280. 12800  IF J(HT) = 3  THEN  POKE 1403,R - LEN(TX$(HT))
  281. 12850  PRINT TX$(HT);: GOTO 3650
  282. 12900  GOTO 4200
  283. 12950  REM 
  284. 13000  IF HT = 1  THEN 4200
  285. 13050  VTAB HT +4: POKE 1403,39 -(WD/2): PRINT  LEFT$(BL$,WD +3);: VTAB HT +3: POKE 1403,39 -(WD/2): PRINT  LEFT$(BL$,WD +3);
  286. 13100 HT = HT -1
  287. 13150  VTAB HT +4: POKE 1403,40 -(WD/2): INVERSE : PRINT  LEFT$(BL$,WD +1);: NORMAL 
  288. 13200  VTAB HT +4: POKE 1403,32: PRINT " ";OA$;"-?  For Help! ";
  289. 13250  VTAB HT +4: POKE 1403,39 -(WD/2): PRINT MT$;"Z";MO$;: POKE 1403,41 +(WD/2): PRINT MT$;"_";MO$;
  290. 13300  IF Y >HT  THEN Y = HT
  291. 13350  VTAB 21: POKE 1403,9: PRINT "  ";: POKE 1403,10 -(Y >9): PRINT Y;
  292. 13400  GOTO 3650
  293. 13450  POKE  -16368,0: WAIT  -16384,128: POKE  -16368,0: HOME : END 
  294. 13451  REM 
  295. 13452  REM 
  296. 13454  HOME 
  297. 13456  VTAB 11: POKE 1403,21: PRINT "Limits : Width (32-76) ; Height (1-13)"
  298. 13457  VTAB 12: POKE 1403,20: PRINT "Current Width = ";WD;" : Current Height = ";HT"   
  299. 13458  VTAB 13: POKE 1403,23: PRINT "(Press 'ESC' To Return To Modify)"
  300. 13460 IV = 6:IH = 19:PL = 2:IL = 3: POKE 1403,1: VTAB 6: PRINT "Enter New Width :   ": GOSUB 30300
  301. 13461  IF CH = 27  THEN  HOME : GOTO 2600
  302. 13462 W$ = NS$:W =  VAL(W$): IF W <32  OR W >76  THEN 13460
  303. 13465 IV = 7: VTAB 7: POKE 1403,1: PRINT "Enter New Height:   ": GOSUB 30300
  304. 13466  IF CH = 27  THEN  HOME : GOTO 2600
  305. 13470 H$ = NS$:H =  VAL(H$): IF H <1  OR H >13  THEN 13465
  306. 13482  IF W <76  AND W/2 < > INT(W/2)  THEN W = W +1
  307. 13485 WD = W:HT = H: HOME : GOTO 2600
  308. 13500  REM 
  309. 13550  REM 
  310. 13600  REM 
  311. 13650 S$ = "......Read......": GOSUB 40150
  312. 13700  VTAB 5: POKE 1403,9: PRINT "Here Are Your Choices......"
  313. 13750  VTAB 8: POKE 1403,16: PRINT "1} Read Entire Directory."
  314. 13800  POKE 1403,16: PRINT "2} Read Locked Files Only."
  315. 13850  POKE 1403,16: PRINT "3} Read Type Files Only.  Type=";TF$
  316. 13900  POKE 1403,16: PRINT "4} Read PREFIX Only."
  317. 13950  POKE 1403,16: PRINT "5} ALPHABETIZE Option: ";: IF AO = 1  THEN  PRINT "On. ": GOTO 14010
  318. 14000  PRINT "Off."
  319. 14010  POKE 1403,16: PRINT "6} Set a new PREFIX   Currently: ";: IF  LEFT$(PX$,1) = "/"  THEN 14030
  320. 14020  PRINT "/";
  321. 14030  PRINT PX$
  322. 14050  POKE 1403,16: PRINT "7} Main Menu.": PRINT 
  323. 14100  PRINT : POKE 1403,30: PRINT "Which Do You Choose?": POKE 1403,39: PRINT AR$;" ";LA$;
  324. 14110  VTAB 20: POKE 1403,25: PRINT MT$;"J";MO$;" ";MT$;"K";MO$;" Keys To Change Type Files."
  325. 14150  VTAB 18: POKE 1403,40: GET CH$:CH =  VAL(CH$): IF CH$ =  CHR$(27)  THEN 150
  326. 14200  PRINT CH
  327. 14250  IF CH$ =  CHR$(11)  THEN  GOSUB 14600: GOTO 14150
  328. 14300  IF CH$ =  CHR$(10)  THEN  GOSUB 14750: GOTO 14150
  329. 14350  IF CH <1  OR CH >7  THEN 14150
  330. 14400 R = CH
  331. 14450  IF R = 5  THEN 14900
  332. 14500  IF R = 7  THEN 150
  333. 14510  IF R = 6  THEN 14820
  334. 14550  GOTO 15100
  335. 14600  REM 
  336. 14650 FT = FT +1: IF FT >11  THEN FT = 1
  337. 14700  GOTO 14810
  338. 14750  REM 
  339. 14800 FT = FT -1: IF FT <1  THEN FT = 11
  340. 14810 TF$ = FT$(FT): VTAB 10: POKE 1403,47: PRINT TF$: RETURN 
  341. 14819  REM Set a new PREFIX
  342. 14820  HOME : VTAB 10: POKE 1403,15: PRINT "Enter the new PREFIX. To access a slot and drive,"
  343. 14825  VTAB 11: POKE 1403,15: PRINT "enter the slot number, a period, and then the drive"
  344. 14826  VTAB 12: POKE 1403,15: PRINT "number. e.g. 6.1 will access slot 6, drive 1."
  345. 14828  VTAB 13: POKE 1403,29: PRINT "Enter the new PREFIX:":IV = 13:IH = 51:IL = 16:PL = 1: GOSUB 30300
  346. 14830 A$ =  LEFT$(NS$,1): IF A$ <"0"  OR A$ >"9"  THEN 14838
  347. 14831 A =  VAL(NS$):A1 =  INT(A):A2 = 10 *(A -A1):A$ = ",S" + STR$(A1): IF A2  THEN A$ = A$ +",D" + STR$( INT(A2 +.01))
  348. 14832  ONERR  GOTO 14837
  349. 14833  PRINT D$"PREFIX"A$: PRINT D$"PREFIX": INPUT PX$: POKE 216,0: GOTO 13600
  350. 14837  POKE 216,0: GOTO 14820
  351. 14838  ONERR  GOTO 14850
  352. 14840  PRINT D$"PREFIX/"NS$: POKE 216,0:PX$ = NS$: GOTO 13600
  353. 14850  GOSUB 60010: ON A GOTO 14830,13600
  354. 14900  REM 
  355. 14950  VTAB 12: POKE 1403,39: IF AO = 1  THEN AO = 0: PRINT "Off.": GOTO 15050
  356. 15000 AO = 1: PRINT "On. "
  357. 15050  GOTO 14150
  358. 15100  REM 
  359. 15150  HOME : VTAB 8: POKE 1403,30: PRINT "Reading In Directory..."
  360. 15200 RS = 1
  361. 15250  ONERR  GOTO 40350
  362. 15300  PRINT D$"prefix": INPUT P$
  363. 15350  IF R = 4  THEN NP = 0: GOTO 19750
  364. 15400  PRINT D$;"Open";P$;",TDIR": PRINT D$;"Read";P$: INPUT J$,J$,J$:C = 0
  365. 15450 NP = 0
  366. 15500  INPUT J$: IF J$ = ""  THEN 15600
  367. 15550 NP = NP +1:DR$(NP) = J$: GOTO 15500
  368. 15600  PRINT D$;"Close"
  369. 15605  IF NP = 0  THEN  HOME : VTAB 10: POKE 1403,30: PRINT "There are no files!": GOTO 20500
  370. 15650  POKE 216,0
  371. 15700 S$ = "....Sorting.....": GOSUB 40150
  372. 15750  HOME : VTAB 8: POKE 1403,31: PRINT "Sorting Directory..."
  373. 15800  FOR E = 1 TO NP
  374. 15850 L$ =  LEFT$(DR$(E),1):N$ =  MID$ (DR$(E),2,15):T$ =  MID$ (DR$(E),18,3)
  375. 15900  IF R = 1  THEN 16100
  376. 15950  IF R = 2  THEN  IF L$ = "*"  THEN 16100
  377. 16000  IF R = 3  THEN  IF T$ = TF$  THEN 16100
  378. 16050  NEXT : GOTO 16150
  379. 16100 C = C +1:DA$(C) = N$ +L$ +T$: NEXT 
  380. 16150  IF C = 0  THEN  PRINT "NO Files!!"; CHR$(7); CHR$(7); CHR$(7): GOTO 150
  381. 16200  FOR E = 1 TO C:S(E) = 1: NEXT :S(51) = 0:TP = C: IF C = 51  THEN TP = 50
  382. 16250  IF AO = 0  OR C = 1  THEN 16750
  383. 16300 S$ = "..Alphabetize...": GOSUB 40150
  384. 16350  HOME : VTAB 8: POKE 1403,34: PRINT "Alphabetizing...": PRINT : POKE 1403,36: PRINT "PASS:"
  385. 16400 P = 1: POKE  -16368,0
  386. 16450  VTAB 12: POKE 1403,29: PRINT "Press -ESC- To Cancel!"
  387. 16500 FLAG = 0: VTAB 10: POKE 1403,41: PRINT P;".": FOR E = 1 TO C -1
  388. 16550  IF DA$(E) >DA$(E +1)  THEN FLAG = 1:TS$ = DA$(E):DA$(E) = DA$(E +1):DA$(E +1) = TS$
  389. 16600  NEXT 
  390. 16650  IF  PEEK( -16384) -128 = 27  THEN 16750
  391. 16700  IF FLAG = 1  THEN P = P +1: GOTO 16500
  392. 16750  REM 
  393. 16800 S$ = ".....Choose.....": GOSUB 40150
  394. 16850  HOME : VTAB 4: POKE 1403,17: INVERSE : PRINT  LEFT$(BL$,46): VTAB 15: POKE 1403,17: PRINT  LEFT$(BL$,46)
  395. 16900  VTAB 4: POKE 1403,22: PRINT "Name";: POKE 1403,44: PRINT "Status";: POKE 1403,53: PRINT "File Type"
  396. 16950  VTAB 15: POKE 1403,29: PRINT "Total Files Picked:";TP;".": NORMAL 
  397. 17000  VTAB 18: POKE 1403,12: PRINT "Up/Down Arrow Keys To Move : Space Bar Selects/Deselects"
  398. 17050  POKE 1403,15: PRINT "Return To Modify Selected Items : ESC For Main Menu"
  399. 17100 N = 10: IF C <N  THEN N = C
  400. 17150  FOR E = 1 TO N: VTAB E +4: POKE 1403,21: IF S(E) = 1  THEN  PRINT CM$;: GOTO 17250
  401. 17200  PRINT " ";
  402. 17250  PRINT  LEFT$(DA$(E),15);
  403. 17300 L$ =  MID$ (DA$(E),16,1): IF L$ = "*"  THEN  POKE 1403,44: PRINT "Locked";: GOTO 17400
  404. 17350  POKE 1403,43: PRINT "UnLocked";
  405. 17400  POKE 1403,56: PRINT  MID$ (DA$(E),17,3)
  406. 17450  NEXT 
  407. 17500 N = 1:M = 1: POKE 34,4: POKE 35,14
  408. 17550  VTAB 4 +N: POKE 1403,19: PRINT AR$
  409. 17600  POKE  -16368,0: WAIT  -16384,128:K =  PEEK( -16384) -128
  410. 17650  IF K = 11  THEN  GOSUB 17950: GOTO 17600
  411. 17700  IF K = 10  THEN  GOSUB 18650: GOTO 17600
  412. 17750  IF K = 32  THEN  GOSUB 19400: GOTO 17600
  413. 17800  IF K = 27  THEN  POKE 34,1: POKE 35,23: GOTO 150
  414. 17850  IF K = 13  THEN 19750
  415. 17900  GOTO 17600
  416. 17950  REM 
  417. 18000  IF N = 1  AND M = 1  THEN  RETURN 
  418. 18050  IF N = 1  THEN 18200
  419. 18100  VTAB 4 +N: POKE 1403,19: PRINT "  ";
  420. 18150 N = N -1: VTAB 4 +N: POKE 1403,19: PRINT AR$;: RETURN 
  421. 18200  VTAB 4 +N: POKE 1403,19: PRINT "  ";:M = M -1
  422. 18250  VTAB 5: PRINT  CHR$(22): VTAB 4 +N: POKE 1403,19: PRINT AR$;" ";
  423. 18300  IF S(N +M -1) = 1  THEN  PRINT CM$;: GOTO 18400
  424. 18350  PRINT " ";
  425. 18400  PRINT  LEFT$(DA$(N +M -1),15);
  426. 18450 L$ =  MID$ (DA$(N +M -1),16,1): IF L$ = "*"  THEN  POKE 1403,44: PRINT "Locked";: GOTO 18550
  427. 18500  POKE 1403,43: PRINT "UnLocked";
  428. 18550  POKE 1403,56: PRINT  MID$ (DA$(N +M -1),17,3);
  429. 18600  RETURN 
  430. 18650  REM 
  431. 18700  IF N = 10  THEN 18900
  432. 18750  IF N =  >C  THEN  RETURN 
  433. 18800  VTAB 4 +N: POKE 1403,19: PRINT " ";
  434. 18850 N = N +1: VTAB 4 +N: POKE 1403,19: PRINT AR$;: RETURN 
  435. 18900  IF M +10 >C  THEN  RETURN 
  436. 18950  VTAB 4 +N: POKE 1403,19: PRINT " ";: VTAB 14: PRINT 
  437. 19000  VTAB 4 +N: POKE 1403,19: PRINT AR$;" ";:M = M +1
  438. 19050  IF S(N +M -1) = 1  THEN  PRINT CM$;: GOTO 19150
  439. 19100  PRINT " ";
  440. 19150  PRINT  LEFT$(DA$(N +M -1),15);
  441. 19200 L$ =  MID$ (DA$(N +M -1),16,1): IF L$ = "*"  THEN  POKE 1403,44: PRINT "Locked";: GOTO 19300
  442. 19250  POKE 1403,43: PRINT "UnLocked";
  443. 19300  POKE 1403,56: PRINT  MID$ (DA$(N +M -1),17,3);
  444. 19350  RETURN 
  445. 19400  REM 
  446. 19450  VTAB 4 +N: POKE 1403,21:J = N +M -1
  447. 19500  IF S(J) = 1  THEN S(J) = 0:TP = TP -1: PRINT " ";: GOTO 19650
  448. 19550 TP = TP +1: IF TP >50  THEN TP = 50: PRINT  CHR$(7);: RETURN 
  449. 19600 S(J) = 1: PRINT CM$;
  450. 19650  INVERSE : VTAB 15: POKE 1403,48: INVERSE : PRINT TP;".  ";: NORMAL : VTAB 5
  451. 19700  RETURN 
  452. 19750  TEXT : POKE 34,1: POKE 35,23: HOME 
  453. 19800  VTAB 8: POKE 1403,36: PRINT "Sorting..."
  454. 19850  FOR E = 1 TO 16:TX$(E) = "": NEXT 
  455. 19900  REM wd = 44:ht = 10  :REM don't assume this!
  456. 19950  IF R = 4  THEN TX$(3) = P$:Y = 3: GOTO 21850
  457. 20000  FOR E = 1 TO 51:DR$(E) = "": NEXT :DC = 0
  458. 20050  FOR E = 1 TO C: IF S(E) = 1  THEN DC = DC +1:DR$(DC) =  LEFT$(DA$(E),15)
  459. 20100  NEXT : HOME : VTAB 8: POKE 1403,34: PRINT "Manipulating..."
  460. 20150  IF DC  THEN 21600
  461. 20450  HOME : VTAB 8: POKE 1403,35: PRINT "NO Files!"
  462. 20500  PRINT : POKE 1403,26: PRINT "Press Any Key For Main Menu..."
  463. 20550  POKE  -16368,0: WAIT  -16384,128: POKE  -16368,0
  464. 20600  GOTO 150
  465. 21600 CN =  INT(DC/HT -(DC/HT =  INT(DC/HT)))
  466. 21601 A = WD: IF F(1) = 2  THEN A = (WD -32)/2 +19 +(WD >40) +(WD >50) +(WD >62) +(WD >74)
  467. 21602  IF F(1) = 3  THEN A = (WD -32)/2 +17 +(WD >50)
  468. 21610 CW =  INT(A/(CN +1)) -2: IF CW >15  THEN CW = 15
  469. 21615  IF CW <1  THEN  HOME : VTAB 8: POKE 1403,29: PRINT "The label is too small!": GOTO 20500
  470. 21620  FOR E = 1 TO HT:TX$(E) = "":F(E) = F(1)
  471. 21625  FOR QC = 0 TO CN
  472. 21630  IF DR$(E +HT *QC) = ""  THEN TX$(E) = TX$(E) + LEFT$(BL$,CW +2): GOTO 21670
  473. 21660 TX$(E) = TX$(E) +"- " + LEFT$(DR$(E +HT *QC),CW)
  474. 21670  NEXT : NEXT 
  475. 21850  FOR E = 1 TO HT:J(E) = 1:C(E) = 1:B(E) = 0:U(E) = 0: NEXT : GOTO 2300
  476. 21900  REM 
  477. 21950  REM 
  478. 22000  REM 
  479. 22050  HOME :S$ = "...MacroEntry...": GOSUB 40150
  480. 22100  FOR E = 1 TO 5: VTAB 3 +(E *2): POKE 1403,9: PRINT E;"} ";OA$;"-";E;"  ";M$(E): NEXT 
  481. 22150  PRINT : POKE 1403,29: PRINT "Enter Number To Change": POKE 1403,17: PRINT "-ESC- For Main Menu : S To Save Macros To Disk": PRINT : POKE 1403,39: PRINT AR$;" ";LA$
  482. 22200  VTAB 18: POKE 1403,40: GET CH$: IF CH$ =  CHR$(27)  THEN 150
  483. 22250  IF CH$ = "S"  OR CH$ = "s"  THEN 22550
  484. 22300  IF CH$ <"1"  OR CH$ >"5"  THEN 22200
  485. 22350 CH =  VAL(CH$)
  486. 22400  VTAB 20: POKE 1403,9: PRINT "Enter Macro No.";CH;":";
  487. 22450 PL = 0:IL = 40:IH = 29:IV = 20:MN = CH: GOSUB 30300: IF CH = 27  THEN 21900
  488. 22470 M$(MN) = NS$
  489. 22500  HOME : GOTO 22100
  490. 22550  HOME : VTAB 8: POKE 1403,35: PRINT "Saving...."
  491. 22555  ONERR  GOTO 22565
  492. 22560  PRINT D$"PREFIX"PF$: POKE 216,0:PX$ = PF$: GOTO 22600
  493. 22565  GOSUB 60000: ON A GOTO 22555,22000
  494. 22600 RS = 2
  495. 22650  ONERR  GOTO 40350
  496. 22700  PRINT D$;"OPENMACROS.ADL": PRINT D$;"WRITEMACROS.ADL"
  497. 22750  FOR E = 1 TO 5: PRINT M$(E): NEXT : PRINT D$;"CLOSE"
  498. 22800  POKE 216,0: GOTO 22500
  499. 22850  END 
  500. 22900  REM 
  501. 22950  REM 
  502. 23000  REM 
  503. 23050 S$ = "..Printer.Code..": GOSUB 40150
  504. 23100  VTAB 7
  505. 23150  PRINT "     Enter Your Printer Codes At The Requested Inputs.  Example..If your Code": PRINT " For Bold Begin Is Chr$(27)+Chr$(33) Then You Would Type  27:33 at the prompt."
  506. 23200  POKE 1403,19: PRINT "Pressing Return Will Choose Current Input.": PRINT 
  507. 23250  PRINT "  Enter Printer Code For Bold Begin........";PC$(1)
  508. 23300  PRINT "                         Bold End..........";PC$(2)
  509. 23350  PRINT "                         Underline Begin...";PC$(3)
  510. 23400  PRINT "                         Underline End.....";PC$(4)
  511. 23450  PRINT "          Condensed Chars(17 Chars/Inch)...";PC$(5)
  512. 23500  PRINT "                         Standard Chars....";PC$(6)
  513. 23550  PRINT "                         Expanded Chars....";PC$(7)
  514. 23600  PRINT 
  515. 23650  PRINT "Is Your Printer Image II Color Compat(Y/N)?";PC$(8)
  516. 23700  POKE  -16368,0
  517. 23750 V = 11:H = 44: GOSUB 25150:BB$ = AN$
  518. 23800 V = 12:H = 44: GOSUB 25150:BE$ = AN$
  519. 23850 V = 13:H = 44: GOSUB 25150:UB$ = AN$
  520. 23900 V = 14:H = 44: GOSUB 25150:UE$ = AN$
  521. 23950 V = 15:H = 44: GOSUB 25150:CD$ = AN$
  522. 24000 V = 16:H = 44: GOSUB 25150:ST$ = AN$
  523. 24050 V = 17:H = 44: GOSUB 25150:EX$ = AN$
  524. 24100  VTAB 19: POKE 1403,43: GET CH$: IF CH$ = "Y"  OR CH$ = "y"  THEN CF = 1:CH$ = "Yes.":PC$(8) = CH$: GOTO 24300
  525. 24150  IF CH$ = "N"  OR CH$ = "n"  THEN CF = 0:CH$ = "No. ":PC$(8) = CH$: GOTO 24300
  526. 24200  IF CH$ =  CHR$(13)  THEN  GOTO 24300
  527. 24250  GOTO 24100
  528. 24300  VTAB 19: POKE 1403,43: PRINT CH$
  529. 24350  POKE 34,17: VTAB 24: PRINT : POKE 34,1
  530. 24400  VTAB 20: POKE 1403,33: PRINT "Are These OK?": POKE 1403,39: PRINT AR$;" ";LA$;
  531. 24450  POKE 1403,40: GET CH$: IF CH$ =  CHR$(27)  THEN 150
  532. 24500  IF CH$ = "Y"  OR CH$ = "y"  THEN  PRINT "Y";: GOTO 24650
  533. 24550  IF CH$ = "N"  OR CH$ = "n"  THEN 22900
  534. 24600  GOTO 24450
  535. 24650  VTAB 22: POKE 1403,30: PRINT "Saving Printer Codes....";
  536. 24651  ONERR  GOTO 24660
  537. 24655  PRINT D$"PREFIX"PF$: POKE 216,0:PX$ = PF$: GOTO 24700
  538. 24660  GOSUB 60000: ON A GOTO 24651,23000
  539. 24700  ONERR  GOTO 40300
  540. 24750 RS = 3
  541. 24800  PRINT D$;"OPEN   Printer.ADL"
  542. 24850  PRINT D$;"WRITE  Printer.ADL"
  543. 24900  PRINT BB$: PRINT BE$: PRINT UB$: PRINT UE$: PRINT CD$: PRINT ST$: PRINT EX$: PRINT PC$(8)
  544. 24950  PRINT D$;"CLOSE"
  545. 25000  POKE 216,0
  546. 25050  FOR E = 1 TO 8:OP$(E) = PC$(E): NEXT 
  547. 25100  GOTO 150
  548. 25150  REM 
  549. 25200  REM 
  550. 25250  REM 
  551. 25300 AN$ = "": FOR I = 1 TO 20:AN$(I) = "": NEXT :I = 0
  552. 25350  POKE 1403,H +I -1: VTAB V: GET CH$: IF CH$ =  CHR$(27)  THEN  POP : FOR E = 1 TO 8:PC$(E) = OP$(E): NEXT : GOTO 150
  553. 25400  IF CH$ =  CHR$(8)  OR CH$ =  CHR$(127)  THEN I = I -(I >0): VTAB V: POKE 1403,H +I: PRINT " ":AN$(I +1) = "": IF I = 0  THEN  VTAB V: POKE 1403,43: PRINT PC$(V -10)
  554. 25450  IF CH$ =  CHR$(8)  OR CH$ =  CHR$(127)  THEN 25350
  555. 25500  IF CH$ =  CHR$(32)  THEN 25350
  556. 25550  IF CH$ = ":"  THEN 25750
  557. 25600  IF CH$ > = "0"  AND CH$ < = "9"  THEN 25750
  558. 25650  IF CH$ =  CHR$(13)  THEN 25900
  559. 25700  GOTO 25350
  560. 25750  VTAB V: POKE 1403,H +I -1: PRINT CH$;:I = I +1:AN$(I) = CH$: IF I >20  THEN I = 20
  561. 25800  IF I = 1  THEN  VTAB V: POKE 1403,H: CALL  -868
  562. 25850  GOTO 25350
  563. 25900  REM 
  564. 25950  IF I = 0  THEN Z$ = PC$(V -10): FOR ZZ = 1 TO  LEN(Z$):I = I +1:AN$(I) =  MID$ (Z$,ZZ,1): NEXT 
  565. 26000  IF AN$(I) < >":"  THEN I = I +1:AN$(I) = ":"
  566. 26050 J$ = "":JJ$ = "":EF = 0: FOR E = 1 TO I:J$ = J$ +AN$(E): NEXT 
  567. 26100  FOR E = 1 TO I:M$ =  MID$ (J$,E,1)
  568. 26150  IF M$ > = "0"  AND M$ < = "9"  THEN 26350
  569. 26200  IF  VAL(JJ$) >255  THEN  GOTO 26300
  570. 26250  IF M$ = ":"  THEN J =  VAL(JJ$):AN$ = AN$ + CHR$(J):JJ$ = "": GOTO 26400
  571. 26300 EF = 1
  572. 26350 JJ$ = JJ$ +M$
  573. 26400  NEXT 
  574. 26450  IF I = 1  AND AN$(I) = ":"  THEN EF = 1
  575. 26500  IF EF = 0  THEN PC$(V -10) = J$: RETURN 
  576. 26550  VTAB V: POKE 1403,H -1: PRINT "Error In Entering Printer Code!"; CHR$(7); CHR$(7);
  577. 26600  POKE  -16368,0:C = 0
  578. 26650  IF  PEEK( -16384) >127  THEN  POKE  -16368,0: GOTO 26800
  579. 26700 C = C +1: IF  INT(C/50) = C/50  THEN  VTAB 18: POKE 1403,0: PRINT  CHR$(7); CHR$(7);:C = 0
  580. 26750  GOTO 26650
  581. 26800  VTAB V: POKE 1403,H -1: FOR E = 1 TO 31: PRINT " ";: NEXT : VTAB V: POKE 1403,H -1: PRINT PC$(V -10);
  582. 26850  GOTO 25150
  583. 26900  RETURN 
  584. 26940  GOSUB 30050: IF CH$ =  CHR$(27)  OR J = 1  THEN 26950
  585. 26945  GOTO 31050
  586. 26950  REM 
  587. 27050  REM 
  588. 27100 S$ = "...Load..Save...": GOSUB 40150
  589. 27150  VTAB 4: POKE 1403,4: PRINT "Here Are Your Choices........": PRINT : PRINT 
  590. 27160  PRINT 
  591. 27200  POKE 1403,24: PRINT "1} LOAD Label.": PRINT : POKE 1403,34: PRINT "2} SAVE Label.": PRINT : POKE 1403,44: PRINT "3} Main Menu.": PRINT : PRINT 
  592. 27250  PRINT : PRINT : POKE 1403,30: PRINT "Which Do You Choose?"
  593. 27300  POKE 1403,39: PRINT AR$;" ";LA$;: POKE 1403,40
  594. 27350  GET CH$:CH =  VAL(CH$): ON CH GOTO 27500,26940,150
  595. 27400  IF CH$ =  CHR$(27)  THEN 150
  596. 27450  GOTO 27350
  597. 27500  HOME 
  598. 27550  VTAB 8: POKE 1403,31: PRINT "Loading In Catalog...."
  599. 27600 C = 0:N = 1:M = 1:RS = 4
  600. 27601  ONERR  GOTO 27610
  601. 27605  PRINT D$"PREFIX"PF$: POKE 216,0:PX$ = PF$: GOTO 27650
  602. 27610  GOSUB 60000: ON A GOTO 27601,27050
  603. 27650  ONERR  GOTO 40350
  604. 27700  PRINT D$"prefix": INPUT P$
  605. 27750  PRINT D$;"Open  ";P$;",TDIR": PRINT D$;"Read ";P$: INPUT J$,J$,J$
  606. 27800  INPUT J$: IF  LEFT$(J$,5) = " ADL."  OR  LEFT$(J$,5) = "*ADL."  THEN C = C +1:DA$(C) =  MID$ (J$,2,15) + LEFT$(J$,1) + MID$ (J$,18,3)
  607. 27850  IF J$ = ""  THEN 27950
  608. 27900  GOTO 27800
  609. 27950  POKE 216,0: PRINT D$;"Close": IF C = 0  THEN 30000
  610. 28000  HOME 
  611. 28050  VTAB 4: POKE 1403,17: INVERSE : PRINT  LEFT$(BL$,46): VTAB 15: POKE 1403,17: PRINT  LEFT$(BL$,46)
  612. 28100  VTAB 4: POKE 1403,22: PRINT "Name";: POKE 1403,44: PRINT "Status";: POKE 1403,53: PRINT "File Type"
  613. 28150  VTAB 15: POKE 1403,28: PRINT "Total Labels On Disk:";C;"."
  614. 28200  NORMAL : VTAB 18: POKE 1403,20: PRINT "Up/Down Arrow Keys To Move : Return To Load"
  615. 28250 N = 10: IF C <N  THEN N = C
  616. 28300  FOR E = 1 TO N: VTAB E +4: POKE 1403,22: PRINT  LEFT$(DA$(E),15);
  617. 28350 L$ =  MID$ (DA$(E),16,1): IF L$ = "*"  THEN  POKE 1403,44: PRINT "Locked";: GOTO 28450
  618. 28400  POKE 1403,43: PRINT "UnLocked";
  619. 28450  POKE 1403,56: PRINT  MID$ (DA$(E),17,3): NEXT 
  620. 28500 N = 1:M = 1: POKE 34,4: POKE 35,14
  621. 28550  VTAB 4 +N: POKE 1403,19: PRINT AR$;
  622. 28600  POKE  -16368,0: WAIT  -16384,128:K =  PEEK( -16384) -128:
  623. 28650  IF K = 10  THEN  GOSUB 18650: GOTO 28600
  624. 28700  IF K = 11  THEN  GOSUB 17950: GOTO 28600
  625. 28750  IF K = 27  THEN  POKE 34,1: POKE 35,23: GOTO 150
  626. 28800  IF K = 13  THEN 29200
  627. 28850  GOTO 28600
  628. 28900  REM 
  629. 28950  REM 
  630. 29000  REM 
  631. 29050  IF  RIGHT$(DR$(J),1) = " "  THEN DR$(J) =  LEFT$(DR$(J), LEN(DR$(J)) -1): GOTO 29050
  632. 29100  RETURN 
  633. 29150  REM 
  634. 29200  REM 
  635. 29250  REM 
  636. 29300  POKE 34,1: POKE 35,23: HOME : VTAB 8: POKE 1403,1: PRINT "Loading:";:F$ =  LEFT$(DA$(N +M -1),15): PRINT F$:RR = 1
  637. 29350  IF  RIGHT$(F$,1) = " "  THEN F$ =  LEFT$(F$, LEN(F$) -1): GOTO 29350
  638. 29400 RS = 4
  639. 29450  ONERR  GOTO 40350
  640. 29500  PRINT D$;"OPEN";F$: PRINT D$;"READ";F$
  641. 29550  VTAB 8: POKE 1403,10 + LEN(F$)
  642. 29600  PRINT ".";
  643. 29650  INPUT WD: INPUT HT: INPUT GB
  644. 29700  FOR E = 1 TO HT
  645. 29750  PRINT ".";
  646. 29800  CALL 768,IN$:TX$(E) = IN$
  647. 29850  INPUT J(E): INPUT C(E): INPUT B(E): INPUT U(E): INPUT F(E)
  648. 29900  NEXT E
  649. 29950  PRINT D$;"Close": POKE 216,0: GOTO 2350
  650. 30000  HOME : VTAB 12: POKE 1403,31: PRINT "No Files To Load!!": POKE  -16368,0: WAIT  -16384,128: POKE  -16368,0: GOTO 150
  651. 30050  REM 
  652. 30100  REM 
  653. 30150  REM 
  654. 30200  HOME : VTAB 8: POKE 1403,25: PRINT "Enter Name To Save At Prompt.": POKE 1403,21: PRINT "Please Use Only 11 Characters Or Less."
  655. 30250  VTAB 11: POKE 1403,31: PRINT "->":PL = 1:IV = 11:IH = 34:IL = 12
  656. 30300 J = 1:NS$ = ""
  657. 30350  VTAB IV: POKE 1403,IH +J -1: PRINT " ";: POKE 1403,IH +J -1: GET CH$
  658. 30360  IF  LEN(CH$) = 0  THEN 30350
  659. 30370 CH =  ASC(CH$)
  660. 30400  IF CH$ =  CHR$(8)  OR CH$ =  CHR$(127)  THEN  IF J >1  THEN J = J -1: GOTO 30350
  661. 30450  IF CH$ =  CHR$(27)  THEN  HOME : RETURN 
  662. 30500  IF CH$ =  CHR$(13)  THEN 30900
  663. 30520  IF   NOT PL  THEN 30720
  664. 30525  IF PL = 2  AND (CH <48  OR CH >57)  THEN 30350
  665. 30550  IF (CH > = 65  AND CH < = 90)  OR (CH > = 97  AND CH < = 122)  THEN 30750
  666. 30600  IF CH = 46  THEN 30750
  667. 30650  IF CH > = 48  AND CH < = 57  THEN 30750
  668. 30700  GOTO 30350
  669. 30720  IF CH <32  THEN 30350
  670. 30750 AN$(J) = CH$: VTAB IV: POKE 1403,IH +J -1: PRINT CH$
  671. 30800 J = J +1: IF J >IL  THEN J = IL
  672. 30850  GOTO 30350
  673. 30900  IF J = 1  THEN  HOME : RETURN 
  674. 30950  FOR JJ = 1 TO J -1:NS$ = NS$ +AN$(JJ): NEXT 
  675. 31000  IF NS$ = ""  OR  LEN(NS$) >IL +1  THEN 30200
  676. 31010  RETURN 
  677. 31050  HOME : VTAB 9:J$ = "Saving " +NS$ +"....": POKE 1402,41 - LEN(J$)/2: PRINT J$
  678. 31051 F$ = "ADL." +NS$
  679. 31052  ONERR  GOTO 31070
  680. 31060  PRINT D$"PREFIX"PF$: POKE 216,0:PX$ = PF$: GOTO 31100
  681. 31070  GOSUB 60000: ON A GOTO 31052,27050
  682. 31100 :
  683. 31150  ONERR  GOTO 31250
  684. 31200  PRINT D$;"Delete";F$
  685. 31250  POKE 216,0:RS = 4
  686. 31300  ONERR  GOTO 40350
  687. 31350  PRINT D$;"OPEN";F$: PRINT D$;"WRITE";F$
  688. 31400  PRINT WD: PRINT HT: PRINT GB
  689. 31450  FOR E = 1 TO HT
  690. 31500  PRINT TX$(E)
  691. 31550  PRINT J(E): PRINT C(E): PRINT B(E): PRINT U(E): PRINT F(E)
  692. 31600  NEXT E
  693. 31650  PRINT D$;"Close"
  694. 31700  HOME : POKE 216,0: VTAB 9: POKE 1403,32: PRINT "Finished Saving!"
  695. 31750  GOTO 20500
  696. 31800  REM 
  697. 31850  REM 
  698. 31900  REM 
  699. 31950 BL$ = "                                                                                "
  700. 32000  DIM C$(7),AN$(40),PC$(8),OP$(8)
  701. 32050  DIM M$(5)
  702. 32100 M$(1) = "Memory Requirements:"
  703. 32150 C$(1) = "Black ":C$(2) = "Yellow":C$(3) = "Red   ":C$(4) = "Blue  ":C$(5) = "Orange":C$(6) = "Green ":C$(7) = "Purple"
  704. 32200  DIM DR$(51),DA$(51),TX$(16)
  705. 32250  DIM B(16),U(16),C(16),J(16),F(16),J$(3)
  706. 32300  DIM S(51),FT$(13)
  707. 32350  DATA "SYS","BIN","BAS","$C0","$C1","DIR","ADB","AWP","ASP"
  708. 32400  DATA "$E0","TXT"
  709. 32450 D$ =  CHR$(4):AO = 1:TF$ = "SYS":TP = 0
  710. 32460 LS = 1
  711. 32500 Q$ =  CHR$(34)
  712. 32550 MT$ =  CHR$(27) + CHR$(15):MO$ =  CHR$(27) + CHR$(24) + CHR$(14)
  713. 32600 AR$ = MT$ +"U" +MO$
  714. 32650 LA$ = MT$ +"H" +MO$
  715. 32700 FT = 1: FOR E = 1 TO 11: READ FT$(E): NEXT 
  716. 32750  FOR E = 1 TO 16:B(E) = 0:U(E) = 0:C(E) = 1:J(E) = 1:F(E) = 1: NEXT 
  717. 32800 J$(1) = "Center":J$(2) = " Left ":J$(3) = "Right "
  718. 32850 OA$ = MT$ +"A" +MO$
  719. 32860 CA$ = MT$ +"@" +MO$
  720. 32900 CM$ = MT$ +"D" +MO$
  721. 32910  GOSUB 32950: GOTO 33180
  722. 32950  TEXT : PRINT  CHR$(4);"PR#3": HOME : PRINT : INVERSE : VTAB 1: POKE 1403,1: PRINT  LEFT$(BL$,78);: VTAB 24: POKE 1403,1: PRINT  LEFT$(BL$,78);: POKE 34,1: POKE 35,23: NORMAL : VTAB 2: HOME 
  723. 33000  INVERSE : VTAB 1: POKE 1403,2: PRINT "M.A.L.T.";V$;: POKE 1403,64: PRINT "T.C. Software": VTAB 24: POKE 1403,30: PRINT "(c) 1991 SoftDisk";: VTAB 2
  724. 33150  NORMAL : VTAB 1: POKE 1403,30: PRINT " ";MT$;"A";MO$;"................";MT$;"@";MO$;" ";
  725. 33160  RETURN 
  726. 33170 OS$ = "................"
  727. 33180 WD = 44:HT = 10
  728. 33200 BB$ =  CHR$(27) + CHR$(33):BE$ =  CHR$(27) + CHR$(34)
  729. 33250 UB$ =  CHR$(27) + CHR$(88):UE$ =  CHR$(27) + CHR$(89)
  730. 33300 CD$ =  CHR$(27) + CHR$(81):ST$ =  CHR$(27) + CHR$(78):EX$ =  CHR$(27) + CHR$(110)
  731. 33350 R$ = BE$ +UE$ +ST$
  732. 33400 NC = 1:GB = 0
  733. 33450 PC$(1) = "27:33":PC$(2) = "27:34":PC$(3) = "27:88":PC$(4) = "27:89":PC$(5) = "27:81":PC$(6) = "27:78":PC$(7) = "27:110":PC$(8) = "Yes.": FOR E = 1 TO 8:OP$(E) = PC$(E): NEXT 
  734. 33500  DIM CP$(3),PK$(7)
  735. 33550  FOR E = 1 TO 7:PK$(E) =  CHR$(27) + CHR$(75) + CHR$(47 +E): NEXT 
  736. 33600 CP$(1) = "CD":CP$(2) = "ST":CP$(3) = "EX"
  737. 33650  HOME 
  738. 33660  PRINT D$"bloadinput.any,a$300"
  739. 33665  PRINT D$"PREFIX": INPUT PF$:PX$ = PF$
  740. 33700  ONERR  GOTO 34450
  741. 33750  PRINT D$;"VERIFY Printer.ADL"
  742. 33800  PRINT D$;"OPEN Printer.ADL"
  743. 33850  PRINT D$;"READ Printer.ADL"
  744. 33900  INPUT BB$: INPUT BE$: INPUT UB$: INPUT UE$: INPUT CD$: INPUT ST$: INPUT EX$: INPUT PC$(8)
  745. 33950  PRINT D$;"Close": POKE 216,0
  746. 34000 R$ = BE$ +UE$ +ST$
  747. 34050 J$ = BB$: GOSUB 34800:PC$(1) = JJ$
  748. 34100 J$ = BE$: GOSUB 34800:PC$(2) = JJ$
  749. 34150 J$ = UB$: GOSUB 34800:PC$(3) = JJ$
  750. 34200 J$ = UE$: GOSUB 34800:PC$(4) = JJ$
  751. 34250 J$ = CD$: GOSUB 34800:PC$(5) = JJ$
  752. 34300 J$ = ST$: GOSUB 34800:PC$(6) = JJ$
  753. 34350 J$ = EX$: GOSUB 34800:PC$(7) = JJ$
  754. 34400  FOR E = 1 TO 8:OP$(E) = PC$(E): NEXT 
  755. 34450  POKE 216,0
  756. 34500  ONERR  GOTO 34750
  757. 34550  PRINT D$;"VERIFYMACROS.ADL"
  758. 34600  PRINT D$;"OPENMACROS.ADL"
  759. 34650  PRINT D$;"READMACROS.ADL"
  760. 34700  FOR E = 1 TO 5: CALL 768,IN$:M$(E) = IN$: NEXT 
  761. 34750  PRINT D$;"CLOSE": POKE 216,0: GOTO 38800
  762. 34800 JJ$ = "":N =  LEN(J$): IF N = 0  THEN  RETURN 
  763. 34850  FOR J = 1 TO N:JJ$ = JJ$ + STR$( ASC( MID$ (J$,J,1))) +":": NEXT :JJ$ =  LEFT$(JJ$, LEN(JJ$) -1): RETURN 
  764. 34900  REM 
  765. 34950  REM 
  766. 35000  REM 
  767. 35050 ST = Y:FS = Y
  768. 35100  VTAB 3: POKE 1403,34: INVERSE : PRINT "PLEASE WAIT!";
  769. 35150  IF GB = 1  THEN ST = 1:FS = HT
  770. 35200  FOR E = ST TO FS
  771. 35250  IF GB = 1  THEN  VTAB 3: POKE 1403,47: PRINT "No.";E;".";
  772. 35300 FLAG = 0:JJ$ = "": IF  LEN(TX$(E)) <1  THEN 35800
  773. 35350 FLAG = 1
  774. 35400  FOR EE = 1 TO  LEN(TX$(E)):J$ =  MID$ (TX$(E),EE,1):J =  ASC(J$)
  775. 35450  IF J$ = " "  OR J$ = "."  THEN FLAG = 1: GOTO 35750
  776. 35500  IF FLAG = 1  THEN 35650
  777. 35550  IF J > = 65  AND J < = 90  THEN J = J +32
  778. 35600  GOTO 35750
  779. 35650  IF J > = 97  AND J < = 122  THEN J = J -32:FLAG = 0: GOTO 35750
  780. 35700 FLAG = 0
  781. 35750 J$ =  CHR$(J):JJ$ = JJ$ +J$: NEXT :TX$(E) = JJ$
  782. 35800  NEXT 
  783. 35850  VTAB 3: POKE 1403,34: PRINT "                   ";: NORMAL : GOTO 3100
  784. 35900  REM 
  785. 35950  REM 
  786. 36000  REM 
  787. 36050 S$ = "......Print.....": GOSUB 40150
  788. 36100  VTAB 5: POKE 1403,9: PRINT "Here Are Your Choices..."
  789. 36150  VTAB 8: POKE 1403,16: PRINT "1} Print Using Black."
  790. 36200  POKE 1403,16: PRINT "2} Print Using Color."
  791. 36250  POKE 1403,16: PRINT "3} Number Of Copies : ";NC;". ";
  792. 36255  PRINT " Copies Left To Print : 0."
  793. 36260  POKE 1403,16: PRINT "4} Line Spaces Between Labels: ";LS;". "
  794. 36350  POKE 1403,16: PRINT "5} PRINT..."
  795. 36400  POKE 1403,16: PRINT "6} Main Menu."
  796. 36410  VTAB 19: POKE 1403,13: PRINT LA$;" ";AR$;" Keys To Change No. Of Line Spaces Between Labels."
  797. 36420  POKE 1403,21: PRINT MT$;"J";MO$;" ";MT$;"K";MO$;" Keys To Change Number Of Copies."
  798. 36450  VTAB 8 +UC: POKE 1403,15: PRINT CM$;
  799. 36500  VTAB 15: POKE 1403,30: PRINT "Which Do You Choose?"
  800. 36550  POKE 1403,39: PRINT AR$;" ";LA$;
  801. 36600  VTAB 16: POKE 1403,40: GET CH$: IF CH$ =  CHR$(27)  THEN 150
  802. 36650 CH =  VAL(CH$)
  803. 36700  IF CH$ =  CHR$(10)  THEN 37000
  804. 36750  IF CH$ =  CHR$(11)  THEN 37100
  805. 36760  IF CH$ =  CHR$(8)  THEN 37260
  806. 36770  IF CH$ =  CHR$(21)  THEN 37270
  807. 36800  IF CH$ <"1"  OR CH$ >"6"  THEN 36600
  808. 36850  ON CH GOTO 36900,36950,36600,36600,37300,150
  809. 36900  VTAB 9: POKE 1403,15: PRINT " ";: VTAB 8: POKE 1403,15: PRINT CM$;:UC = 0: GOTO 36600
  810. 36950  VTAB 8: POKE 1403,15: PRINT " ";: VTAB 9: POKE 1403,15: PRINT CM$;:UC = 1: GOTO 36600
  811. 37000  IF NC = 1  THEN 36600
  812. 37050 NC = NC -1: GOTO 37200
  813. 37100  IF NC = 5  THEN 36600
  814. 37150 NC = NC +1
  815. 37200  VTAB 10: POKE 1403,38: PRINT NC;". ";
  816. 37250  GOTO 36600
  817. 37260 LS = LS -(LS >0): GOTO 37280
  818. 37270 LS = LS +(LS <20)
  819. 37280  VTAB 11: POKE 1403,47: PRINT LS;". ": GOTO 36600
  820. 37300  REM 
  821. 37350  VTAB 1: POKE 1403,38: INVERSE : PRINT "Print";: NORMAL 
  822. 37400 CD = WD:ST = (WD -32)/2 +19 +(WD >40) +(WD >50) +(WD >62) +(WD >74):EX = (WD -32)/2 +17 +(WD >50)
  823. 37450  FOR NT = 1 TO NC
  824. 37500  VTAB 10: POKE 1403,65: PRINT NC +1 -NT
  825. 37550  PRINT  CHR$(4);"PR#1"
  826. 37600  FOR E = 1 TO HT:J$ = ""
  827. 37650  IF UC = 1  THEN  PRINT PK$(C(E));
  828. 37700 LN =  LEN(TX$(E))
  829. 37750  IF F(E) = 1  THEN J = CD: PRINT CD$;
  830. 37800  IF F(E) = 2  THEN J = ST: PRINT ST$;
  831. 37850  IF F(E) = 3  THEN J = EX: PRINT EX$;
  832. 37900  IF J(E) = 1  THEN I =  INT((J -LN)/2): IF I <1  THEN 38150
  833. 37950  IF J(E) = 1  THEN  PRINT  LEFT$(BL$,I);: GOTO 38150
  834. 38000  IF J(E) = 2  THEN  GOTO 38150
  835. 38050  IF J(E) = 3  THEN I =  INT(J -LN): IF I <1  THEN 38150
  836. 38100  IF J(E) = 3  THEN  PRINT  LEFT$(BL$,I);
  837. 38150  IF B(E) = 1  THEN  PRINT BB$;
  838. 38200  IF U(E) = 1  THEN  PRINT UB$;
  839. 38250  PRINT TX$(E);BE$;UE$;ST$
  840. 38300  NEXT 
  841. 38350  IF LS = 0  THEN 38400
  842. 38355  FOR E = 1 TO LS: PRINT : NEXT 
  843. 38400  PRINT D$;"PR#0"
  844. 38450  NEXT NT
  845. 38500  VTAB 10: POKE 1403,65: PRINT "0";
  846. 38550  VTAB 1: POKE 1403,38: PRINT "Print";
  847. 38560  GOSUB 32950: REM Draconian measure needed to keep mouse-text on a Laser!
  848. 38600  GOTO 36000
  849. 38650  REM 
  850. 38700  VTAB 19: POKE 1403,20: PRINT MT$;"J";MO$;" ";MT$;"K";MO$;" Arrow Keys To Change No. Of Copies"
  851. 38710  POKE 1403,27: PRINT LA$;" ";AR$;" To Change Line Spaces"
  852. 38720  GOTO 36600
  853. 38750  END 
  854. 38800  REM 
  855. 38850  REM 
  856. 38900  REM 
  857. 38950 S$ = ".....About......": GOSUB 40150
  858. 39000 J$ = "GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"
  859. 39050  VTAB 5: POKE 1403,18: PRINT MT$;J$;MO$
  860. 39100  VTAB 7: POKE 1403,19: PRINT "Multi-Purpose Apple Labeler Thingy ";V$
  861. 39150  POKE 1403,39: PRINT "By"
  862. 39200  POKE 1403,24: PRINT "Trevor Churchill (T.C. Software)": PRINT 
  863. 39350  VTAB 14: POKE 1403,36: PRINT "M.A.L.T."
  864. 39360  POKE 1403,24: PRINT "Copyright (c) 1991 Softdisk, Inc."
  865. 39370  POKE 1403,31: PRINT "All Rights Reserved"
  866. 39380  POKE 1403,28: PRINT "Published On Softdisk #114"
  867. 39390  POKE 1403,26: PRINT "Subscriptions: 1-800-831-2694"
  868. 39395  POKE 1403,25: PRINT "Changing This Notice Is Illegal"
  869. 39400  VTAB 21: POKE 1403,18: PRINT MT$;J$;MO$
  870. 39450  FOR E = 5 TO 21: VTAB E: POKE 1403,17: PRINT MT$;"Z";MO$;: POKE 1403,61: PRINT MT$;"_";MO$;: NEXT 
  871. 39500  POKE  -16368,0
  872. 39550 J$ = ".-.-.-.-.-.-.- Press Any Key To Continue -.-"
  873. 39600  VTAB 12: POKE 1403,29: PRINT MT$;"]";MO$;: POKE 1403,50: PRINT MT$;"]";MO$;
  874. 39650 PA = 12
  875. 39700 LN =  LEN(J$)
  876. 39750  VTAB 12: POKE 1403,30: PRINT  LEFT$(J$,20);
  877. 39800 J$ =  MID$ (J$,2,LN -1) + LEFT$(J$,1)
  878. 39850  PRINT  CHR$(4);"FRE"
  879. 39900  FOR PULSE = 1 TO PA: IF  PEEK( -16384) >127  THEN K =  PEEK( -16384) -128: POKE  -16368,0: GOTO 40000
  880. 39950  NEXT : GOTO 39750
  881. 40000 PU = PA: NEXT : GOTO 150
  882. 40150  REM 
  883. 40200 J$ = OS$ +S$: HOME 
  884. 40250  FOR E = 1 TO 17: VTAB 1: POKE 1403,32: PRINT  MID$ (J$,E,16): NEXT :OS$ = S$: RETURN 
  885. 40350  REM 
  886. 40400  REM 
  887. 40450  POKE 216,0:ER =  PEEK(222): PRINT D$;"CLOSE"
  888. 40500  POKE 34,1: POKE 35,23: HOME : VTAB 8: POKE 1403,26: PRINT "Unable To Do Disk Function!"; CHR$(7); CHR$(7): PRINT : PRINT 
  889. 40550  IF ER = 17  THEN  POKE 1403,31: PRINT "Directory Is Full.": GOTO 40850
  890. 40600  IF ER = 9  THEN  POKE 1403,33: PRINT "Disk Is Full.": GOTO 40850
  891. 40650  IF ER = 8  THEN  POKE 1403,32: PRINT "Disk I/O Error.": GOTO 40850
  892. 40700  IF ER = 6  THEN  POKE 1403,32: PRINT "File Not Found!": GOTO 40850
  893. 40750  IF ER = 4  THEN  POKE 1403,28: PRINT "Disk Is Write-Protected!": GOTO 40850
  894. 40800  POKE 1403,33: PRINT "Unknown Error!"
  895. 40850  POKE  -16368,0: WAIT  -16384,128: POKE  -16368,0: HOME 
  896. 40900  ON RS GOTO 13700,22100,23100,27000,150
  897. 40950  GOTO 150
  898. 41000  REM 
  899. 41050  REM 
  900. 41100  REM 
  901. 41150 S$ = "......Quit......": GOSUB 40150
  902. 41200  HOME : VTAB 8: POKE 1403,35: PRINT "Quit?(Y/N)": PRINT 
  903. 41250  POKE 1403,39: PRINT AR$;" ";LA$;: POKE 1403,40
  904. 41300  GET CH$: IF (CH$ = "Y"  OR CH$ = "y")  OR CH$ =  CHR$(27)  THEN  TEXT : HOME : PRINT "T.C. Software";: FOR PAUSE = 1 TO 100: NEXT : PRINT  CHR$(4);"BYE"
  905. 41350  IF CH$ = "N"  OR CH$ = "n"  THEN 350
  906. 41400  GOTO 41250
  907. 41500  REM 
  908. 41502 FLAG = 0
  909. 41505  IF HT < = 2  THEN  HOME : VTAB 6: PRINT "Height Must Be Greater Than 2 To Make A Border!!": POKE  -16368,0: WAIT  -16384,128: POKE  -16368,0:Y = 1: HOME : GOTO 2600
  910. 41510  HOME : VTAB 15: POKE 1403,18: PRINT "(Press -Return- To Go Back To Modify Label)"
  911. 41511 IV = 6:IH = 28:PL = 0:IL = 40
  912. 41512  VTAB 6: PRINT "Enter border character(s):
  913. 41515  GOSUB 30300:B$ = NS$:B =  LEN(B$):BB = 1
  914. 41516  IF CH$ =  CHR$(27)  THEN 41500
  915. 41520  IF B = 0  THEN  HOME :Y = 1: GOTO 2600
  916. 41530  VTAB 10: POKE 1403,30: PRINT "Creating Border (";OA$;")"
  917. 41540  FOR E = 1 TO HT
  918. 41545  IF E/2 =  INT(E/2)  THEN  VTAB 10: POKE 1403,47: PRINT CA$;: GOTO 41550
  919. 41546  VTAB 10: POKE 1403,47: PRINT OA$;
  920. 41550  IF F(E) = 1  THEN J = CD
  921. 41560  IF F(E) = 2  THEN J = ST
  922. 41570  IF F(E) = 3  THEN J = EX
  923. 41580 LL =  LEN(TX$(E)): IF TX$(1) = ""  THEN FLAG = 5
  924. 41590  IF LL = J  THEN TX$(E) = " " + LEFT$(TX$(E),LL -1): GOTO 41630
  925. 41600  IF J(E) = 1  THEN  GOSUB 50000
  926. 41610  IF J(E) = 2  THEN  GOSUB 50100
  927. 41620  IF J(E) = 3  THEN  GOSUB 50200
  928. 41630  NEXT E
  929. 41631  IF F(1) = 1  THEN J = CD
  930. 41632  IF F(1) = 2  THEN J = ST
  931. 41633  IF F(1) = 3  THEN J = EX
  932. 41635 Y = 1: IF FLAG = 5  THEN TX$(1) = "":FLAG = 0: GOTO 41650
  933. 41640  GOSUB 10155: REM  Insert Row At Top Of Label
  934. 41650 TX$(Y) = TX$(Y) + MID$ (B$,BB,1)
  935. 41660 BB = BB +1: IF BB >B  THEN BB = 1
  936. 41665  IF BB/2 =  INT(BB/2)  THEN  VTAB 10: POKE 1403,47: PRINT OA$;: GOTO 41670
  937. 41666  VTAB 10: POKE 1403,47: PRINT CA$;
  938. 41670  IF  LEN(TX$(Y)) <J  THEN 41650
  939. 41690 Y = HT: GOSUB 10155: REM  insert row at bottom of label
  940. 41700  FOR E = 2 TO HT -1
  941. 41705  IF E/2 =  INT(E/2)  THEN  VTAB 10: POKE 1403,47: PRINT OA$;: GOTO 41710
  942. 41706  VTAB 10: POKE 1403,47: PRINT CA$;
  943. 41710 LL =  LEN(TX$(E))
  944. 41720 TX$(E) =  LEFT$(TX$(E),LL -1) + MID$ (B$,BB,1)
  945. 41730 BB = BB +1: IF BB >B  THEN BB = 1
  946. 41740  NEXT E
  947. 41745 BB = 2: IF BB >B  THEN BB = 1
  948. 41750  FOR E = 2 TO HT -1:LL =  LEN(TX$(E))
  949. 41755  IF E/2 =  INT(E/2)  THEN  VTAB 10: POKE 1403,47: PRINT OA$;: GOTO 41760
  950. 41756  VTAB 10: POKE 1403,47: PRINT CA$;
  951. 41760 TX$(E) =  MID$ (B$,BB,1) + RIGHT$(TX$(E),LL -1)
  952. 41770 BB = BB +1: IF BB >B  THEN BB = 1
  953. 41780  NEXT E
  954. 41790  IF F(HT) = 1  THEN J = CD
  955. 41792  IF F(HT) = 2  THEN J = ST
  956. 41794  IF F(HT) = 3  THEN J = EX
  957. 41800 TX$(HT) = TX$(HT) + MID$ (B$,BB,1)
  958. 41810 BB = BB +1: IF BB >B  THEN BB = 1
  959. 41812  IF BB/2 =  INT(BB/2)  THEN  VTAB 10: POKE 1403,47: PRINT OA$;: GOTO 41815
  960. 41813  VTAB 10: POKE 1403,47: PRINT CA$;
  961. 41815  IF  LEN(TX$(HT)) <J  THEN 41800
  962. 41830  HOME :Y = 1: GOTO 2600
  963. 50000 TX$(E) = " " +TX$(E)
  964. 50010  IF  LEN(TX$(E)) = J  THEN  RETURN 
  965. 50020 TX$(E) = TX$(E) +" "
  966. 50030  IF  LEN(TX$(E)) = J  THEN  RETURN 
  967. 50040  GOTO 50000
  968. 50100 TX$(E) = " " +TX$(E)
  969. 50110  IF  LEN(TX$(E)) <J  THEN TX$(E) = TX$(E) +" ": GOTO 50110
  970. 50120  RETURN 
  971. 50200 TX$(E) = TX$(E) +" ": IF  LEN(TX$(E)) = J  THEN  RETURN 
  972. 50210  IF  LEN(TX$(E)) <J  THEN TX$(E) = " " +TX$(E): GOTO 50210
  973. 50220  RETURN 
  974. 60000 NS$ = PF$
  975. 60010  POKE 216,0: HOME : VTAB 10: POKE 1403,7: PRINT "Please insert "NS$" and hit a key. (Hit ESC to abort.)"
  976. 60020  GET A$: IF   NOT  LEN(A$)  THEN 60020
  977. 60030 A = 1 +( ASC(A$) = 27): RETURN